Sergio Bertana

Risposte nei forum create

Stai visualizzando 15 post - dal 1,951 a 1,965 (di 4,505 totali)
  • Autore
    Post
  • in risposta a: Sviluppo di protocolli basati su Ethernet e CAN #40028
    Sergio Bertana
    Amministratore del forum

    Per quanto riguarda la Ethernet, il sistema operativo mette a disposizione una serie di FB per la gestione. I FB SysTCPServer e SysTCPClient permettono di gestire comunicazioni TCP sia server che client. I FB SysUDPServer e SysUDPClient permettono di gestire comunicazioni UDP sia server che client. Tutti questi FB ritornano uno stream di comunicazione (Di tipo FILEP) a cui è possibile collegare un FB di gestione del protocollo.

    Ed è proprio collegando il FB ModbusMaster al SysTCPClient e il FB ModbusSlave al SysTCPServer che viene gestito il protocollo Modbus TCP/IP, allo stesso modo alcuni clienti hanno sviluppato un loro prorio protocollo. Per quanto riguarda il protocollo EtherNet/IP purtroppo al momento non abbiamo un FB di gestione, ma avendone la conoscenza è possibile sviluppare autonomamente una FB per la gestione.

    Per la gestione del CAN, le funzioni SysCANRxMsg e SysCANTxMsg permettono di ricevere ed inviare messaggi CAN, anche qui abbiamo clienti che hanno implementato svariati protocolli di comunicazione. Nel campo nautico congiuntamente con un cliente abbiamo sviluppato una comunicazione con il protocollo SAE J1939 per il controllo di motogeneratori.

    Per il protocollo DeviceNet non abbiamo FB specifiche, ma vale la stessa risposta data precedentemente se si ha la conoscenza del protocollo è possibile sviluppare autonomamente una FB per la gestione.

    in risposta a: Ottimizzatore impianto di riscaldamento #39971
    Sergio Bertana
    Amministratore del forum

    Abbiamo diversi casi in cui nostri clienti hanno utilizzato i nostri sistemi SlimLine per la gestione domotica ed in particolare modo per la gestione della climatizzazione della casa. Il più semplice è la gestione della caldaia con curva climatica (Topic). Un altro esempio è l’utilizzo di termostati ambiente connessi in seriale (Topic). Con un pannello operatore touch puoi gestire una impostazione accurata delle temperature (Screenshot). Per la gestione dei differenti orari in base alle festività, puoi vedere questo topic dove è possibile impostare i giorni festivi su un file CSV. Abbiamo sensori di temperatura, umidità e CO2 gestibili con connessione seriale, o più semplicemente è possibile utilizzare sensori di temperatura tutti connessi in parallelo su di un bus 1-Wire per acquisisre in modo economico la temperatura nelle varie stanze. Tutto questo per quanto riguarda la possibilità di gestione, ma venendo alla tua domanda, non ho una esperienza specifica sull’algoritmo di regolazione per avere una temperatura di benessere. Però mi è capitato tra le mani questo articolo che potrebbe essere pertinente, che riassumo. Ho potuto constatare una riduzione dei consumi del 15 percento circa, tenendo la caldaia sempre accesa (anche di notte) mantenendo nel contempo la temperatura di mandata molto bassa (il minimo necessario per avere i 20 gradi in casa), rispetto al funzionamento discontinuo che per vincere velocemente le inerzie termiche richiede temperature di mandata superiori. Le temperature di mandata inferiori tra l’altro riducono notevolmente l’effetto “baffi” neri di polvere depositata dall’aria. Con la caldaia sempre accesa il sistema di riscaldamento non deve vincere nessuna inerzia e la temperatura di mandata è regolata per contrastare solamente le perdite di calore verso l’esterno. Per dare un’idea, con T esterna a 10 gradi, l’acqua hai termosifoni viene inviata a circa 30 gradi. A 0 gradi esterni, l’acqua viene inviata a 45 gradi.

    in risposta a: Riconoscere da programma la presenza del pen drive USB #40027
    Sergio Bertana
    Amministratore del forum

    Puoi controllare il valore della LW-9076 (32bit) : USB disk current free space (K bytes), Se diversa da 0 il pen drive USB è connesso al terminale.

    Sergio Bertana
    Amministratore del forum

    L’utilizzo del pass-through è stato già trattato in questo topic. L’indirizzo che devi impostare nel pass-through è l’indirizzo che hai assegnato al tuo modulo SlimLine (Default 192.168.0.122), naturalmente il modulo deve essere nella stessa rete del pannello.

    A questo punto il primo test da fare è vedere se con un comando di ping puoi raggiungere il modulo SlimLine (Nel caso di pass-through l’indirizzo assegnato è quello da pingare). Deve essere raggiungibile visto che mi dici che riesci a trasferire il programma nel pannello, altrimenti hai commesso qualche errore di impostazione. Se si raggiunge il sistema con il ping è sicuramente raggiungibile anche da LogicLab.

    Siccome con il pass-through l’indirizzo definito è visibile nella rete del tuo PC, può essere che se nella tua rete esiste un dispositivo che ha lo stesso IP questo possa provocare problemi di funzionamento.

    Situazione diversa invece per il pannello, EasyAccess assegna al pannello remoto un indirizzo IP in una classe sicuramente libera nel tuo PC e quindi non ci sono problemi di sovrappaosizione di indirizzi. Per il client VNC da utilizzarsi per accedere alla visualizzazione del pannello vedi questo topic.

    in risposta a: Come interfacciarsi via WiFi con i moduli Sonoff della Itead #40025
    Sergio Bertana
    Amministratore del forum

    Vedo che hanno la gestione del protocollo MQTT ma non sinceramente non ho trovato informazioni su come configurare questi moduli per poterli gestire tramite i nostri sistemi programmabili SlimLine.

    Mi sono però cimentato con l’IDE di sviluppo ed ho realizzato un nuovo firmware che ne permette la gestione da una SlimLine. Ho anche realizzato un FB dedicato, è un lavoro che ho svolto per divertimento ed è pubblicato nella zona delle Knowledge sul nostro sito.

    in risposta a: Applicazione domotica con sistemi SlimLine distribuiti #40024
    Sergio Bertana
    Amministratore del forum

    Effettivamente con le macro non è possibile operare su dispositivi remoti.

    Puoi come dici correttamente tu utilizzare il trasferimento dati (Puoi farlo a tempo oppure a trigger). Se inserisci l’oggetto in una pagina viene eseguito solo se la pagina è attiva (mettendolo nella pagina 4 viene sempre eseguito). Però puoi utilizzare i trasferimenti globali che sono sempre eseguiti.

    Dallo SlimLine utilizzando il protocollo Modbus (Devi abilitare il protocollo Modbus server sul terminale) puoi leggere/scrivere le variabili del terminale.

    La scheda SDCard è un disco, utilizzando le funzioni Sysfseek, Sysfread, Sysfwrite è possibile accedervi ed utilizzarla come memoria, ma non è possibile accedere da Modbus. Però se vuoi puoi farti una tua gestione di un protocollo (Vedi topic, topic).

    in risposta a: Acquisizione encoder da scheda estensione I/O #40022
    Sergio Bertana
    Amministratore del forum

    Non mi tornano i conti… tu dici che dal FB IOEncoder leggi 800 Impulsi/Giro, il FB eseguendo la quadratura moltiplica per 4 gli impulsi, quindi il tuo encoder genera 200 Impulsi/Giro. Ad 1 giro al secondo la frequenza è di 200 Hz, eseguendo il FB in task Fast ogni 1 mS dovresti poter acquisire frequenze fino a 500 Hz, vuol dire che il tuo encoder può girare fino ad oltre 2 giri al secondo senza perdere impulsi. Quindi non mi spiego perchè tu dica che poco oltre 1 giro al secondo inizi a perdere impulsi…

    La rotazione dell’encoder è stabile ? Non è che subisce accelerazioni e rallentamenti nel giro (Tipico esempio è quando si fà ruotare l’encoder con le dita) ?

    Sulla disponibilità della gestione hardware della quadratura sul modulo CPU Cortex M7 e quindi la possibilità di utilizzare il FB SysGetEncoder non abbiamo ancora date certe.

    in risposta a: Acquisizione encoder da scheda estensione I/O #40020
    Sergio Bertana
    Amministratore del forum

    Il FB IOEncoder permette di gestire il conteggio in quadratura di un encoder in modo software campionando i due ingressi di fase, quindi occorre che il FB e l’acquisizione degli ingressi (Con il FB SysGetPhrDI) avvengano in un tempo inferiore alla durata dei segnali di fase. Ipotizzando di eseguire le operazioni nella task Fast ad 1 mS potremo acquisire segnali in uyscita da un encoder alla frequenza massima di 500 Hz.

    Se si utilizzano gli ingressi presenti sul modulo CPU (La cui acquisizione è molto veloce) è possibile anche ridurre il tempo di esecuzione della task Fast portandolo anche al minimo di 100 uS (Naturalmente dipende da quante operazioni si svolgono nella task). In questo modo la frequenza massima sale a 5 KHz.

    Il campionamento software è certo una soluzione di ripiego, per acquisire encoders è meglio affidarsi ad un campionamento hardware, i moduli di estensione I/O PCB124*000, PCB129*000, PCB129*100 implementano il circuito hardware di quadratura encoder (Possono acquisisre encodrrs fino a 50 KHz). Purtroppo il circuito non è presente nel modulo PCB124B500 che hai tu, il quale ha il circuito di ingresso veloce ma non ha il circuito hardware di quadratura.

    Per la connessione dell’encoder agli ingressi puoi riferirti al manuale della scheda (Fase A:Di14, Fase B:Di15, Tacca di zero:Di12). Il circuito hardware gestisce l’encoder autonomamente gestendo un valore di quota su una variabile intera 16 bits. Il FB SysGetEncoder, a cui devi passare l’indirizzo di scheda ed il canale encoder (I moduli ad oggi gestiscono un solo canale encoder quindi Channel=0) ritorna il valore di conteggio.

    E’ evidente che per non perdere valori di conteggio occorre eseguire una acquisizione almeno ogni metà valore contatore (16#7FFF, 32767) che alla massima frequenza di 50KHz corrispondono ad un tempo di 650 mS. Il valore di quota non è azzerabile ma ci sono tecniche per gestire sia l’azzeramento che la quota su variabili UDINT (Vedi topic).

    in risposta a: Applicazione domotica con sistemi SlimLine distribuiti #40019
    Sergio Bertana
    Amministratore del forum

    Con un HMI puoi collegarti al cMT-SVR come pannello remoto e leggere scrivere le variabili RW e LW del cMT-SVR. Se l’allocazione delle variabili è scalata in modo corretto (Un tot di variabili per ogni alloggio) utilizzando i puntatori puoi fare un solo programma che acceda all’alloggio in base il condomino.

    Ti ricordo che il modulo CPU SlimLine gestisce anche un Web Server, potresti anche pensare di realizzare pagine web dedicate ai vari condomini, pagine che sarebbero accessibili da un comune browser anche  da smartphone.

    in risposta a: Utilizzo porta RS232 su modulo mixed signal #40017
    Sergio Bertana
    Amministratore del forum

    Un argomento simile è stato già trattato qui. Cominciamo con le connessioni, immagino che il driver sia un (DCE Equipment) ed abbia un connettore DB 9 femmina (Vedi qui), quindi il pin 2 è un TxD in uscita e và connesso con il pin 5 RxD in ingresso del modulo mixed I/O, mentre il pin 3 RxD in ingresso và connesso con il pin 6 TxD.

    Per utilizzare le porte seriali seppur corretto l’utilizzo della funzione Sysfopen, nell’intento di uniformare l’utilizzo degli streams di comicazione tra TCP, UDP e seriale abbiamo pubblicato un apposito FB SysSerialPort. Quindi ti consiglio di cercare di utilizzare questo in alternativa alla Sysfopen, rimane comunque corretta la definizione della porta PCOM1.0 (Se il modulo mixed I/O ha indirizzo 1, vedi qui).

    Passando il file pointer al FB ModbusMaster puoi gestire la comunicazione con il driver, per capire gli eventuali problemi di comunicazione ti consiglio di utilizzare la console di spionaggio (Vedi qui). Riguardo alla conversione RS232/RS485 abbiamo diversi convertitori atti allo scopo (Vedi qui).

    in risposta a: Convertire un progetto CMTP in uno EMTP #40016
    Sergio Bertana
    Amministratore del forum

    No purtroppo attualmente progetti CMTP non possono essere portati sui pannelli standard eMT.
    Ma se al posto del Cloud HMI vuoi utilizzare un pannello con touch screen integrato, puoi usare la serie cMT3090 o cMT3151 che sono perfettamente compatibili.

    in risposta a: Relè di sicurezza attivato su sequenza pulsanti #40015
    Sergio Bertana
    Amministratore del forum

    La domanda mi è servita come spunto per realizzare il blocco funzione InputSequencer, ecco lo screenshot del progetto. Come si vede  il FB è realizzato con una macchina a stati, dove ogni stato gestisce la sequenzialità degli eventi.

    Stato 0: Controllo attivazione pulsanti, se attivo il pulante 2 per primo vado in errore.
    Stato 10: Controllo attivazione pulsante 2, se non viene attivato in un tempo cado in errore.
    Stato 20: Attivo uscita e controllo disattivazione pulsanti.
    Stato 50: Gestione errore e disattivazione uscita, attendo che vengano rilasciati tutti e due i pulsanti.

    Il progetto InputSequencer di cui è possibile il download è un ottimo esempio di come realizzare una macchina a stati.

    in risposta a: Problemi visualizzazione carattere Arial Narrow #40014
    Sergio Bertana
    Amministratore del forum

    Prova ad andare in edit gestione font e sostituire il font narrow con arial narrow o grassetto (come lo vede il PC) puo essere dovuto alla desinenza.

    in risposta a: Controllo forni per trattamenti termici #40013
    Sergio Bertana
    Amministratore del forum

    Per il punto 1 è possibile eseguire tutti i calcoli a 32bit, al termine è possibile passare il risultato in variabile a 16 bit che tronca il resto.
    Per il punto2 appena trovo un attimo verifico il comportamento della LW9030.

    in risposta a: Tempo caricamento pagina iniziale #40011
    Sergio Bertana
    Amministratore del forum

    No purtroppo la pagina di sistema non è configurabile.

Stai visualizzando 15 post - dal 1,951 a 1,965 (di 4,505 totali)